home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Shape Smash / shape-smash.swf / scripts / Box2D / Dynamics / Contacts / _km291.as < prev    next >
Encoding:
Text File  |  2010-05-14  |  5.2 KB  |  152 lines

  1. package Box2D.Dynamics.Contacts
  2. {
  3.    import Box2D.Collision.Shapes._bs125;
  4.    import Box2D.Collision.Shapes._hx306;
  5.    import Box2D.Collision._cc280;
  6.    import Box2D.Collision._kn203;
  7.    import Box2D.Collision._lh680;
  8.    import Box2D.Collision._xk47;
  9.    import Box2D.Common.Math.b2Vec2;
  10.    import Box2D.Dynamics._nu737;
  11.    import Box2D.Dynamics._th791;
  12.    
  13.    public class _km291 extends _nb823
  14.    {
  15.       private static const s_evalCP:_lh680 = new _lh680();
  16.       
  17.       private var m_manifolds:Array;
  18.       
  19.       private var m0:_kn203;
  20.       
  21.       public var m_manifold:_kn203;
  22.       
  23.       public function _km291(param1:_hx306, param2:_hx306)
  24.       {
  25.          m0 = new _kn203();
  26.          m_manifolds = [new _kn203()];
  27.          super(param1,param2);
  28.          m_manifold = m_manifolds[0];
  29.          m_manifold.pointCount = 0;
  30.       }
  31.       
  32.       public static function _em71(param1:_hx306, param2:_hx306, param3:*) : _nb823
  33.       {
  34.          return new _km291(param1,param2);
  35.       }
  36.       
  37.       public static function _ai321(param1:_nb823, param2:*) : void
  38.       {
  39.       }
  40.       
  41.       override public function _vv339(param1:_nu737) : void
  42.       {
  43.          var _loc2_:b2Vec2 = null;
  44.          var _loc3_:b2Vec2 = null;
  45.          var _loc4_:_cc280 = null;
  46.          var _loc5_:_th791 = null;
  47.          var _loc6_:_th791 = null;
  48.          var _loc7_:_lh680 = null;
  49.          var _loc8_:int = 0;
  50.          var _loc9_:Array = null;
  51.          var _loc10_:_cc280 = null;
  52.          var _loc11_:Boolean = false;
  53.          var _loc12_:uint = 0;
  54.          var _loc13_:int = 0;
  55.          _loc5_ = m_shape1.m_body;
  56.          _loc6_ = m_shape2.m_body;
  57.          m0._br741(m_manifold);
  58.          _xk47._wh610(m_manifold,m_shape1 as _bs125,_loc5_.m_xf,m_shape2 as _bs125,_loc6_.m_xf);
  59.          _loc9_ = [false,false];
  60.          _loc7_ = s_evalCP;
  61.          _loc7_.shape1 = m_shape1;
  62.          _loc7_.shape2 = m_shape2;
  63.          _loc7_.friction = m_friction;
  64.          _loc7_.restitution = m_restitution;
  65.          if(m_manifold.pointCount > 0)
  66.          {
  67.             _loc8_ = 0;
  68.             while(_loc8_ < m_manifold.pointCount)
  69.             {
  70.                _loc10_ = m_manifold.points[_loc8_];
  71.                _loc10_.normalImpulse = 0;
  72.                _loc10_.tangentImpulse = 0;
  73.                _loc11_ = false;
  74.                _loc12_ = _loc10_.id._key;
  75.                _loc13_ = 0;
  76.                while(_loc13_ < m0.pointCount)
  77.                {
  78.                   if(_loc9_[_loc13_] != true)
  79.                   {
  80.                      _loc4_ = m0.points[_loc13_];
  81.                      if(_loc4_.id._key == _loc12_)
  82.                      {
  83.                         _loc9_[_loc13_] = true;
  84.                         _loc10_.normalImpulse = _loc4_.normalImpulse;
  85.                         _loc10_.tangentImpulse = _loc4_.tangentImpulse;
  86.                         _loc11_ = true;
  87.                         if(param1 != null)
  88.                         {
  89.                            _loc7_.position = _loc5_._pj447(_loc10_.localPoint1);
  90.                            _loc2_ = _loc5_._hg747(_loc10_.localPoint1);
  91.                            _loc3_ = _loc6_._hg747(_loc10_.localPoint2);
  92.                            _loc7_.velocity._br741(_loc3_.x - _loc2_.x,_loc3_.y - _loc2_.y);
  93.                            _loc7_.normal._kh737(m_manifold.normal);
  94.                            _loc7_.separation = _loc10_.separation;
  95.                            _loc7_.id._aw644 = _loc12_;
  96.                            param1._mx420(_loc7_);
  97.                         }
  98.                         break;
  99.                      }
  100.                   }
  101.                   _loc13_++;
  102.                }
  103.                if(_loc11_ == false && param1 != null)
  104.                {
  105.                   _loc7_.position = _loc5_._pj447(_loc10_.localPoint1);
  106.                   _loc2_ = _loc5_._hg747(_loc10_.localPoint1);
  107.                   _loc3_ = _loc6_._hg747(_loc10_.localPoint2);
  108.                   _loc7_.velocity._br741(_loc3_.x - _loc2_.x,_loc3_.y - _loc2_.y);
  109.                   _loc7_.normal._kh737(m_manifold.normal);
  110.                   _loc7_.separation = _loc10_.separation;
  111.                   _loc7_.id._aw644 = _loc12_;
  112.                   param1._um807(_loc7_);
  113.                }
  114.                _loc8_++;
  115.             }
  116.             m_manifoldCount = 1;
  117.          }
  118.          else
  119.          {
  120.             m_manifoldCount = 0;
  121.          }
  122.          if(param1 == null)
  123.          {
  124.             return;
  125.          }
  126.          _loc8_ = 0;
  127.          while(_loc8_ < m0.pointCount)
  128.          {
  129.             if(!_loc9_[_loc8_])
  130.             {
  131.                _loc4_ = m0.points[_loc8_];
  132.                _loc7_.position = _loc5_._pj447(_loc4_.localPoint1);
  133.                _loc2_ = _loc5_._hg747(_loc4_.localPoint1);
  134.                _loc3_ = _loc6_._hg747(_loc4_.localPoint2);
  135.                _loc7_.velocity._br741(_loc3_.x - _loc2_.x,_loc3_.y - _loc2_.y);
  136.                _loc7_.normal._kh737(m0.normal);
  137.                _loc7_.separation = _loc4_.separation;
  138.                _loc7_.id._aw644 = _loc4_.id._key;
  139.                param1._ai707(_loc7_);
  140.             }
  141.             _loc8_++;
  142.          }
  143.       }
  144.       
  145.       override public function _sg202() : Array
  146.       {
  147.          return m_manifolds;
  148.       }
  149.    }
  150. }
  151.  
  152.